package cn.shenlong.portal.service;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import cn.shenlong.common.Pagination;
import cn.shenlong.portal.domain.Application;

public interface ApplicationService {

	/**
	 * 新增应用信息
	 * 
	 * @param entity
	 *            应用信息
	 * @return
	 */
	public int saveEntity(Application entity);

	/**
	 * 更新应用信息
	 * 
	 * @param entity
	 *            应用信息
	 * @return
	 */
	public int updateEntity(Application entity);

	/**
	 * 查找应用信息
	 * 
	 * @param entityId
	 *            应用信息ID
	 * @return
	 */
	public Application findByPK(Serializable entityId);

	/**
	 * 批量删除
	 * 
	 * @param ids
	 *            应用信息ID
	 * @return
	 */
	public int deleteByPKArray(Serializable[] ids);

	/**
	 * 根据条件搜索
	 * 
	 * @param pageNo
	 * @param pageSize
	 * @param para
	 * @return
	 */
	public Pagination findPageListByCriteria(Integer pageNo, Integer pageSize,
			Map<String, Object> para);

	/**
	 * 根据应用类型，获取导航条信息或版位信息
	 * 
	 * @param applicationType
	 *            应用类型 1：导航条信息 2：版位信息
	 * @param priority
	 *            排列顺序
	 * @return
	 */
	public List<Application> getNaOrLa(Long applicationType, Long priority);

	/**
	 * 根据应用类型，获取导航条信息或版位信息
	 * 
	 * @param applicationType
	 *            应用类型 1：导航条信息 2：版位信息
	 * @param channelId
	 *            栏目ID
	 * @return
	 */
	public List<Application> getNaOrLaByChannelId(Long applicationType,
			Long channelId);

}
